package cn.zy.amyan.server.interfaces.impl;

import cn.zy.amyan.core.data.ProductInfo;
import cn.zy.amyan.server.data.ProductTable;
import cn.zy.amyan.server.interfaces.IAyServer;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;

/**
 * @author 子言
 * @date 2024/5/5 下午 16:12
 */
public class AyServerImpl implements IAyServer {
	
	private static final Map<String, ProductTable> PRODUCT_MAP = new HashMap<>();
	
	@Override
	public boolean register(ProductInfo info) {
		info.setRegisterTime(System.currentTimeMillis());
		// 获取注册信息
		ProductTable productTable = PRODUCT_MAP.get(info.getServerName());
		if(null == productTable) {
			productTable = new ProductTable();
			productTable.setProductInfos(new HashSet<>());
		}
		productTable.getProductInfos().add(info);
		PRODUCT_MAP.put(info.getServerName(), productTable);
		return true;
	}

	@Override
	public ProductInfo queryServer(String serverName) {
		// 获取注册信息
		ProductTable productTable = PRODUCT_MAP.get(serverName);
		if(null == productTable) {
			return null;
		}
		System.out.println("getProductInfos.size = " + productTable.getProductInfos().size());
		// 默认给第一个，可实现轮询，权重等算法
		return productTable.getProductInfos().iterator().next();
	}
}
